import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;

import javax.swing.JCheckBox;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;

import modelo.Modelo;
import controlador.AdministradorDeEvaluaciones;
import controlador.CreadorDeFuncion;
import controlador.FabricaMetodos;
import vista.Botonera;
import vista.CuadroDeTexto;
import vista.Lista;
import vista.VistaGraficador;
import vista.VistaLista;
import vista.VistaPrincipal;
public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		Modelo modelo=new Modelo();
		CreadorDeFuncion creador=new CreadorDeFuncion(modelo,new FabricaMetodos());
		JPanel panel= new JPanel();
		JPanel panel2= new JPanel();
		JPanel panel21=new CuadroDeTexto(creador);
		JCheckBox checkBox=new JCheckBox("Guardar Resultados");
		VistaGraficador vistaGraficador= new VistaGraficador();
		Botonera panel22=new Botonera(modelo,creador,vistaGraficador);
		VistaLista vistaLista= new VistaLista(new Lista(modelo));
		AdministradorDeEvaluaciones adm=new AdministradorDeEvaluaciones(modelo);
		checkBox.addActionListener(adm);
		panel22.add(checkBox);
		adm.agregarObservador(vistaGraficador);
		vistaLista.addListSelectionListener(adm);
		vistaLista.addListSelectionListener(panel22);
		modelo.agregarObservador(vistaLista);
		VistaPrincipal vista= new VistaPrincipal(modelo,creador,vistaLista,vistaGraficador);
		JScrollPane panel4= new JScrollPane(vistaLista);
		JSplitPane panel3= new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,panel4,vistaGraficador);
		panel2.setLayout(new GridLayout(0,1));
		panel2.add(panel21);
		panel2.add(panel22);
		panel.setBackground(new Color(11000000));
		panel2.setBackground(new Color(19000));
		panel2.setPreferredSize(new Dimension(900,100));
		panel.setLayout(new BorderLayout(1,1));
		panel.add("North",panel2);
		panel.add("Center",panel3);
		vista.add(panel);
	}

}
